In some storage systems, data in a logical disk residing on a virtual disk array is stored and retrieved from physical disks within a disk array. Mapping information referred to as “metadata” is used to locate the stored data. This metadata can be kept in the disk array controller memory and/or on physical disks within the disk array.
When a logical disk is transferred from one disk array to another disk array, this metadata must also be copied so that the destination disk array can locate the stored data. During the transfer of a logical disk, it is preferable to allow continued host access to the stored data in that logical disk on the source array. However, continued access to the logical disk can cause changes in the source metadata. Problems arise if the source metadata is changed while this metadata is being copied since the destination disk array would not have an accurate copy of the metadata.
In order to guarantee that the metadata is identical on the source and destination disk arrays, some storage systems lock access to the data during an entire time that all of the metadata is being copied. During this time, host computers are denied access to the data during the copy. This process is effective in preventing changes to metadata being copied, but causes problems in applications running on the host computer. Commands can timeout and applications can appear to hang.